package br.com.achemoda.negocio;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import br.com.achemoda.entidade.Usuario;
import br.com.achemoda.negocio.controller.Fachada;
import br.com.achemoda.negocio.controller.Logica;

public class AutenticarUsuario implements Logica{

	@Override
	public void executa(HttpServletRequest request, HttpServletResponse response)throws Exception {

		String login = request.getParameter("username");
		String senha = request.getParameter("password");
		
		Usuario usuario = null;
		try {
			usuario = Fachada.getInstancia().getRepositorioUsuario().procurarUsuarios("from Usuario where login ='"+login+"' and senha = '"+senha+"'").get(0);
		} catch (Exception e) {
			System.out.println("ususario = "+usuario);
			System.out.println("erro = "+e.getMessage());
		}
		
		
        if (usuario == null) {
            request.setAttribute("msg", "Login ou Senha Incorretos");
            request.getRequestDispatcher("/index.jsp").forward(request,response);
        } else {
            HttpSession sessao = request.getSession(true);
            sessao.setAttribute("usuarioSessao", usuario);
            String tipo = usuario.getTipoUsuario(usuario);
            if(tipo.equals("Cliente")){
            	System.out.println("Entrou um Cliente");
            	request.getRequestDispatcher("admin/logadocliente.jsp").forward(request, response);
            } else if(tipo.equals("Empresa")){
            	System.out.println("Entrou uma Empresa");
            	request.getRequestDispatcher("admin/logadoempresa.jsp").forward(request, response);
            } else {
            	System.out.println("Entrou um Administrador");
            	request.getRequestDispatcher("admin/logadoadministrador.jsp").forward(request, response);
            }
        }
		
	}
}